package cn.yx.common.core.enums;

import java.util.EnumSet;
import java.util.HashMap;
import java.util.Map;

/**
 * <p>是否枚举</p>
 *
 * @author Wgssmart
 */
public enum TrueFalseEnum {

    /**
     * 是与否枚举
     */
    FALSE((byte) 0, "false"),
    TRUE((byte) 1, "true"),
    Y((byte) 1, "Y"),
    N((byte) 0, "N"),
    YES((byte) 1, "YES"),
    NO((byte) 0, "NO");

    private final Byte value;
    private final String desc;

    private static final Map<Byte, TrueFalseEnum> LOOKUP;

    static {
        LOOKUP = new HashMap<>();
        for (TrueFalseEnum trueFalseEnum : EnumSet.allOf(TrueFalseEnum.class)) {
            LOOKUP.put(trueFalseEnum.getValue(), trueFalseEnum);
        }
    }

    TrueFalseEnum(Byte value, String desc) {
        this.value = value;
        this.desc = desc;
    }

    public Byte getValue() {
        return value;
    }

    public String getDesc() {
        return desc;
    }

    public static TrueFalseEnum findByValue(String value) {
        return LOOKUP.get(value);
    }
}